import { AttrType } from "../../attr/AttrType";
import { EffectType } from "../../effect/const/EffectType";
import { IEffectData } from "../../effect/const/IEffectData";
import { TriggerType } from "../../trigger/const/TriggerType";
import { BuffFlag, BuffType } from "../const/BuffType";

/**
 * buff配置数据
 */
export class BuffConfig {
    static BuffConfi = {
        2001: {
            buffId: 2001,
            buffName: "流血",
            triggerType: TriggerType.actionStart,
            buffType: BuffType.bleed,
            buffFlag: BuffFlag.add,
            level: 1,
            effectDatas: [
                {
                    effectType: EffectType.buffDamage,
                    params: {
                        attrType: AttrType.hp,
                        value: 0.1
                    }
                }
            ],
            maxCount: 5,
        },
        2002: {
            buffId: 2002,
            buffName: "灼烧",
            triggerType: TriggerType.actionStart,
            buffType: BuffType.burn,
            buffFlag: BuffFlag.add,
            level: 1,
            effectDatas: [
                {
                    effectType: EffectType.buffDamage,
                    params: {
                        attrType: AttrType.hp,
                        value: 0.1
                    }
                }
            ],
            maxCount: 5,
        }
    }
}

export interface IBuffConfig {
    buffId: number,
    buffName: string,
    triggerType: TriggerType,
    buffType: BuffType,
    level: number,
    effectDatas: Array<IEffectData>,
    maxCount: number,
}